Перестановочний

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
О
Факультет:
КН
Кафедра:
Не вказано

Інформація про роботу

Рік:
2018
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Захист інформації в комп’ютерних системах

Частина тексту файла

Міністерство освіти і науки Національний університет „Львівська політехніка” Кафедра EОМ Звіт з лабораторної роботи № 2 з дисципліни: “ Захист інформації в комп’ютерних системах ” Перестановочний шифр Варіант 16 2018 Тема: Перестановочний шифр Мета: Ознайомитись з основами класичної техніки шифрування – перестановочними шифрами. Завдання: Створити програму, що реалізує довільний перестановочний шифр. Підготувати і захистити звіт, в якому обов’язково навести алгоритм роботи даного перестановочного шифру. Хід роботи: Код реалізації алгоритму package sample; public class RotationAlgorithm { public static String encrypt(String source, String key){ if(key.length() < 2) return source; else { StringBuffer[] matrix = new StringBuffer[key.length()]; for(int i = 0; i < matrix.length; i++) matrix[i] = new StringBuffer(); int j = 0; for(int i = 0; i < source.length(); i++) { matrix[(Character.getNumericValue(key.charAt(j))) - 1].append(source.charAt(i)); if(++j == key.length()) j = 0; } StringBuilder target = new StringBuilder(); for (int i = 0; i < key.length(); i++){ target.append(matrix[i].toString()); } return target.toString() ; } } public static String decrypt(String source, String key){ if(key.length() < 2) return source; else { StringBuffer[] matrix = new StringBuffer[key.length()]; for(int i = 0; i < matrix.length; i++) matrix[i] = new StringBuffer(); int j = 0; for(int i = 0; i < key.length(); i++) { if(source.length() % key.length() != 0 && key.indexOf(Integer.toString(i + 1)) + 1 <= source.length() % key.length()) matrix[i].append(source.substring(j, j + source.length() / key.length() + 1)); else matrix[i].append(source.substring(j, j + source.length() / key.length())); if(source.length() % key.length() != 0 && key.indexOf(Integer.toString(i + 1)) + 1 <= source.length() % key.length()) j += source.length() / key.length() + 1; else j += source.length() / key.length(); } StringBuilder target = new StringBuilder(); int k = 0; for (j = 0; j < source.length() / key.length() + 1; ++j) { for (int i = 0; i < key.length(); i++) { target.append(matrix[Character.getNumericValue(key.charAt(i)) - 1].toString().charAt(j)); if (++k >= source.length()) break; } if (k >= source.length()) break; } return target.toString(); } } } / Рис. 1. Процес кодування тексту / Рис. 2. Текст після декодування Висновок На даній лабораторній роботі я ознайомився з основами класичної техніки шифрування – перестановочними шифрами, також я розробив програмну реалізацію перестановочного шифру що використовує перестановки стовпців.
Антиботан аватар за замовчуванням

24.11.2018 18:11

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини